#ifndef _Event_ROOT_h_
#define _Event_ROOT_h_

#include <TObject.h>


static const char CvsId_Event_ROOT[] =
  "$Id: Event_ROOT.h,v 1.14 2005/12/06 21:55:34 paul Exp $";


namespace evt {
  class Event;
} 

class AugerEvent;

namespace io {

  class ShowerRecData_ROOT;
  class ShowerSimData_ROOT;
  class FEvent_ROOT;
  class SEvent_ROOT;
  class Header_ROOT;
		
	
  /**  Event Class being actually streamed when using ROOT IO
    \author Stefano Argiro'
    \version $Id: Event_ROOT.h,v 1.14 2005/12/06 21:55:34 paul Exp $
  */
		
  class Event_ROOT : public TObject {

  public:
		
    Event_ROOT();
    Event_ROOT(const evt::Event* const event);  ///< Contstruct from the Event
    ~Event_ROOT();	
   
    Event_ROOT& operator=(const evt::Event& event);

    int Fill(evt::Event* const event) const;		///< Fills the Event
	
  private:
		
    AugerEvent* fRawEvent;
    ShowerRecData_ROOT* fShowerRecData;
    ShowerSimData_ROOT* fShowerSimData;
    FEvent_ROOT* fFEvent;	
    SEvent_ROOT* fSEvent;
    Header_ROOT* fHeader;	
	
    ClassDef(Event_ROOT, 4);
  };

} // io


#endif // _Event_ROOT_h_

// Configure (x)emacs for this file ...
// Local Variables:
// mode: c++
// compile-command: "make -C .. -k"
// End:
